<?php namespace Common\Model;

use Hdphp\Model\Model;

class Brand extends Model{
	//指定品牌表名
    protected $table = "brand";
	//自动验证
	 protected $validate = array( 
        array('bname','required','品牌名称不能为空',3,3),
        array('bsort','num:0,65535','排序为0-65535范围',3,3)
    );
//	自动完成
	protected $auto = array(
	   //缩略图
	 	array('blogo','blogo','method',3,3)
	);
	public function blogo(){
		//如果有文件上传
		//如果是编辑的时候，只显示图片的时候，没有file类型的表单，所以是不存在$_FILES['blogo']
		if(isset($_FILES['blogo'])&&$_FILES['blogo']['error'] != 4){
			//执行上传类
			$files = Upload::type('jpg,png,gif')->size(1000000)->make();
			//如果上传成功，返回对应的路径
			if($files){
				//处理缩略的文件名
				$newPath = str_replace('.' . $files[0]['ext'], '_blogo.' . $files[0]['ext'], $files[0]['path']);
				//缩略，返回缩略图的地址
				$blogoPath = Image::thumb($files[0]['path'],$newPath,0,200,2);
				unlink($files[0]['path']);
				return $blogoPath;
//				删除原图片
			}
		}
		//编辑的时候：如果有隐藏域（$_POST['thumb']）的时候，那么就是返回旧地址
		if($blogo = Q('post.blogo')){
			return $blogo;
		}
		//如果用户没有上传，则返回空字符串存入数据
		return '';
	}
	//添加logo
	public function store(){
		//一.触发自动验证
		//1.验证
		if(!$this->create()) return false;
//		获得上传错误
		if($error=Upload::getError()){
//			压人当前错误
			$this->error=$error;
			return false;
		}
//		执行添加
		$this->add();
		return true;
	}
	
	public function edit(){
//		获取编辑tid那条编辑数据
		$bid=Q('get.bid','0','intval');
//		判断是否是文件
		if(isset($_FILES['blogo'])){
//			获取这条数据的blogo的地址
			$files=$this->where("bid=$bid")->pluck('blogo');
			//这样写：走if体的条件是 有type="file" 表单提交（这种写法更合理）
//			执行删除
			if(file_exists($files)){
				unlink($files); 
			}
		}
//		执行模型自动完成方法
		if(!$this->create()) return false;
//		获得验证错误
		if($error=Upload::getError()){
			$this->error=$error;
			return false;
		}	
//		执行修改
		$this->save();
		return true;
	}
	
	
	
	
}